
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>怎么知道哪些语句需要优化 - 学习卡片</title>
      <style>
        body { font-family: sans-serif; background-color: #f0f8ff; color: #333; display: flex; flex-direction: column; align-items: center; padding: 50px 20px; }
        .header h1 { font-size: 32px; }
        .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; width: 100%; max-width: 1200px; }
        .card-container { perspective: 1200px; cursor: pointer; height: 250px; }
        .card { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform 0.7s; border-radius: 16px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
        .card-container.flipped .card { transform: rotateY(180deg); }
        .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; box-sizing: border-box; border-radius: 16px; background-color: #fff; padding: 24px; }
        .card-back { background-color: #f0fff4; transform: rotateY(180deg); justify-content: space-between; }
        .card-category { font-size: 14px; color: #0052d9; margin-bottom: 8px; font-weight: 500; }
        .card-question { font-size: 20px; font-weight: 500; flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
        .card-answer-wrapper { flex-grow: 1; overflow-y: auto; }
        .card-answer { font-size: 15px; line-height: 1.7; }
        .card-footer { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 16px; margin-top: 16px; }
        .card-source { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 12px; margin-top: 12px; }
      </style>
    </head>
    <body>
      <div class="header">
        <h1>怎么知道哪些语句需要优化 - 学习卡片</h1>
      </div>
      <div class="grid-container">
        
    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">性能监控在软件开发中主要体现在哪四个方面的必要性？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">性能监控的必要性主要体现在四个方面：1. 预防问题：在问题发生前发现潜在性能瓶颈。2. 故障排查：当系统出现问题时，帮助迅速定位根源。3. 容量规划：通过分析历史数据，更准确地进行容量规划。4. 优化指导：为系统优化提供数据依据，进行有针对性的优化。</div>
          </div>
          <div class="card-source">来源: 性能监控与分析 - 1. 性能监控的必要性</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">进行性能分析时，需要关注的六个关键指标是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">进行性能分析时通常关注的关键指标包括：CPU使用率、内存使用情况、垃圾回收（GC）活动、线程状态、I/O操作以及数据库性能。</div>
          </div>
          <div class="card-source">来源: 性能监控与分析 - 3. 性能分析的关键指标</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">什么是静态分析？它对于提升代码质量有哪些主要作用？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">静态分析是通过自动化工具在不运行程序的情况下，对源代码进行检查和分析的过程。其主要作用体现在：自动化检查常见错误和缺陷、通过发现安全漏洞提升安全性、检测性能问题并提供优化建议、以及检查代码是否符合编码规范。</div>
          </div>
          <div class="card-source">来源: 代码审查与静态分析 - 2. 静态分析的必要性</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">原则</div>
          <div class="card-question">数据库查询优化的四个基本原则是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">原则</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">数据库查询优化的四个基本原则是：1. 减少数据访问量；2. 避免全表扫描；3. 减少数据传输量；4. 利用缓存机制。</div>
          </div>
          <div class="card-source">来源: 数据库查询优化 - 1. 查询优化的基本原则</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">Java堆内存（Heap Memory）的内部结构是怎样的？新创建的对象通常被分配在哪里？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">Java堆内存主要分为新生代（Young Generation）和老年代（Old Generation）。新生代又包括一个Eden区和两个Survivor区。新创建的对象首先被分配在Eden区。</div>
          </div>
          <div class="card-source">来源: 内存管理与垃圾回收 - 1. 内存分配机制</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">文档中介绍了哪四种核心的垃圾回收算法？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">文档中介绍的四种垃圾回收算法是：标记-清除算法（Mark-Sweep）、复制算法（Copying）、标记-整理算法（Mark-Compact）和分代收集算法（Generational Collection）。</div>
          </div>
          <div class="card-source">来源: 内存管理与垃圾回收 - 2. 垃圾回收算法</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">相比传统的I/O，Java NIO（New I/O）的核心优势是什么？它适用于何种场景？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">Java NIO的核心优势是引入了通道（Channel）和缓冲区（Buffer），通过非阻塞I/O和选择器（Selector）提升了I/O操作的效率和可扩展性。它适用于需要处理大量并发连接或大数据量的场景。</div>
          </div>
          <div class="card-source">来源: I/O操作优化 - 1. 选择合适的I/O API</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">什么是竞态条件？文档中提到了哪些同步机制来避免它？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">竞态条件是指多个线程在没有适当同步的情况下访问共享资源，可能导致不可预测的结果。文档中提到的同步机制包括：使用synchronized关键字、Lock接口或原子变量（如AtomicInteger）。</div>
          </div>
          <div class="card-source">来源: 多线程与并发控制 - 并发控制的策略</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">在网络通信中，应如何选择TCP和UDP协议？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">应根据应用需求选择：TCP提供可靠的、面向连接的数据传输，适合需要数据完整性和顺序性的场景；UDP提供无连接的、不可靠的数据传输，适合实时性要求高、允许丢失部分数据的场景。</div>
          </div>
          <div class="card-source">来源: 网络通信优化 - 网络通信优化的基本概念</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">缓存机制中的“缓存命中”与“缓存失效”分别指什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">缓存命中：指请求的数据存在于缓存中，从而避免了从原始数据源获取数据。缓存失效：指缓存数据因为过期或被更新而失效，需要定期更新或重新加载。</div>
          </div>
          <div class="card-source">来源: 缓存机制 - 缓存机制的核心概念</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">什么是缓存雪崩？有哪些策略可以缓解此问题？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">缓存雪崩是指缓存大面积失效，导致大量请求同时直接访问数据库。可以采用的缓解策略包括：缓存失效时间随机化、多级缓存机制、限流和降级策略。</div>
          </div>
          <div class="card-source">来源: 缓存机制 - 缓存机制的挑战与解决方案</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">哈希表（Hash Table）作为一种常用数据结构，其主要特点和用途是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">哈希表通过哈希函数将键映射到值，其主要特点是支持快速的查找、插入和删除操作。它常用于实现集合（Set）和映射（Map）。</div>
          </div>
          <div class="card-source">来源: 算法与数据结构 - 2. 常用数据结构</div>
        </div>
      </div>
    </div>

      </div>
    </body>
    </html>
